It is desired to schedule the operation of power generators, e.g., nuclear, coal, oil, gas, hydroelectric, solar, and wind. The generators are connected to consumers via electrical grids. The grids can cover continents. An objective of the operational scheduling is to generate a projected amount of electrical power for the consumers, while minimizing production cost and risk of power shortages.
The operational schedule includes a sequence of operational periods (steps), typically of a one hour length. During each step, it is necessary to determine which generators should be on, and which should be off, and how much electricity should be produced by each generator that is on.
The planning horizon, i.e., the duration of the schedule, is typically between one day and one week. Finding the operational schedule that is optimal among all possible schedules is a difficult computational problem due to the very large number of possible generator combinations, schedules that have to be considered, the differences in the operational costs of individual generators, the reliability and variations in output, and various existing operational constraints.
A large number of these constraints are temporal in nature, which turns the operational scheduling into a sequential decision making problem. For example, some generators have minimal and maximal on and off times, as well as limits on how fast the output of the generators can increase or decrease. That is why turning a generator on or off has consequences that extend over long periods of time, and such decisions constitute a commitment to use (or not) the generator for multiple time steps.
For this reason, deciding which generators to turn on or off is commonly known as the unit commitment problem in power generation. After a set of generators have been committed to be on at a specific moment in time, the optimal output to be produced by each generator has to be determined. Additional constraints must also be taken into consideration, such as the minimal and maximal output a generator can produce. This nested optimization problem is known as an economic dispatch problem.
Given a set s of operational generators, which is a subset of all available generators, and a target electrical demand d, it is assumed that F=ƒ(s, d) returns the total expected cost of producing the electrical demand d by the generators in the set s, and G=g(s, d) returns an expected risk (probability) of not being able to meet the demand with this set of generators. If the generators in the set s cannot meet the demand d, for example because d exceeds the sum of the individual maximal outputs of the generators in the set s, then it is assumed that the cost F is equal to the cost of running the generators at full capacity, and the risk G of failure to meet demand is one.
For most practical problems, the number of all possible schedules is prohibitively large to search exhaustively. If N generators are available, then there are 2N possible subsets of on generators during any time step. If there are a total of M time steps in the planning horizon, e.g., M=24 for a planning horizon of one day and time step of one hour, then the total number of all possible schedules is 2N,M. The tremendous combinatorial complexity of the operational scheduling problem requires a more efficient computational method for an approximate solution.
One simple method is to place all generators in a priority list ordered by the relative cost of output electricity per generator when operating at maximal capacity, such that the generator with a lowest cost has a highest priority. Given the expected demand dt for the time step t, the available generators are operated according to the priority list, possibly committing new generators that were off if dt>dt−1, or possibly decommitting generators that were on if dt<dt−1.
Minimal on and off times can be accommodated by modifying the priority list to exclude those generators that must be turned on or off to satisfy these constraints. While feasible, such a method of operational scheduling is far from optimal, and more advanced techniques based on dynamic programming, Lagrange relaxation, branch-and-bound, are known.
One approach decomposes the problem into stages corresponding to the individual time steps of the schedule, and uses dynamic programming to determine recursively the optimal cumulative cost-to-go, until the end of the schedule, for every feasible combination (subset) of generators for the current stage.
Such a procedure reduces the computational complexity of the problem, because the computational complexity is linear in the number of stages (steps), and quadratic in the number of feasible combinations for every stage. However, the number of feasible combinations (2N) is still exponential in the number of available generators N. The heuristics to reduce that number of feasible combinations can possibly lead to sub-optimal solutions. Furthermore, if the state of a generator is represented by a Boolean variable (on/off), then it is not be possible to accommodate requirements for minimum on and off times, and limits on ramping rates.
When future power demand is completely known for the entire duration of the planning period, and the operator of the power generators has full control over how much electricity a generator generates after the generator has been turned on, the optimal operating schedule can be determined in advance, and executed accordingly as time advances.
In practice however, demand cannot be completely known. There are always inaccuracies in forecasting, as well as random variations due to future events, e.g., higher load for air conditioners on a day that is warmer than expected. Similarly, the output of generators cannot be completely known. For example, any generator can malfunction with some probability. In addition, the output of renewable power sources, such as photovoltaic panels and wind turbines, can vary greatly, because the output is governed by uncontrollable natural forces.
Although less severe than complete generator malfunctions, the variability of renewable power sources is an everyday reality, and affects operational scheduling even more significantly. In the past, one practical way to plan for deviations from expected demand and supply has been to include a safety margin of extra capability to produce power by means of the committed generators, also called a spinning reserve. That is, the operational scheduling plans for a slightly higher power output. Determining how much this safety margin should be, and how it should be distributed among the operational generators, is not an easy problem, and is subject to regulations.
Sometimes a rule of thumb is used to provide for a small safety margin of expected demand, e.g., 3%. In other cases, utilities have to compensate for a possible loss of the largest generator. However, that approach is largely heuristic, and is not likely to work in the future, when renewable energy sources become more widespread. An alternative approach is to recognize that the uncertainty in power demand and generator supply make the problem stochastic, i.e., probabilistic and random, see e.g., U.S. Patent Application 20090292402, “Method & apparatus for orchestrating utility power supply & demand in real time using a continuous pricing signal sent via a network to home networks & smart appliances,” Nov. 26, 2009.
A stochastic operational scheduler determines a schedule that can accommodate future variations of supply and demand, and provides a safety margin implicitly, by planning for all possible contingencies. One significant difficulty associated with that approach has been how to represent all these possible contingencies, and how to plan for them. One model organizes all future possible realizations of the system (called scenarios) as a tree of scenario bundles. However, that model for representing stochasticity is limited to only a small number of scenarios, whereas in a practical system the future can be realized in an infinite number of ways.